package carmensd.vista

import modelo.Juego
import org.uqbar.arena.layout.VerticalLayout
import org.uqbar.arena.widgets.Button
import org.uqbar.arena.widgets.Label
import org.uqbar.arena.widgets.Panel
import org.uqbar.arena.windows.Dialog
import org.uqbar.arena.windows.WindowOwner
import applicationModel.ResolverMisterioAppModel

class InicioCasoWindow extends Dialog<Juego> {

	new(WindowOwner owner, Juego model) {
		super(owner, model)
	}

	override createContents(Panel mainPanel) {
		mainPanel.setLayout(new VerticalLayout)
		new Label(mainPanel).setText("Detective tenemos un caso para usted!")
		new Label(mainPanel).setText(
			"A Las 08 de la mañana, en el Museo Britanico, los cuidadores se dieron cuenta del robo de una momia egipsia. 
		El criminal fue muy prolijo no dejo huellas. Su mision detective, es capturarlo.")

		/* Boton aceptar el caso */
		new Button(mainPanel) => [
			caption = "Aceptar el Caso"
			onClick [ |
				this.modelObject.aceptarCaso
				this.close
				this.abrirVentanaDeResolverMisterio
			]
		]
	}
	
	override protected addActions(Panel actionsPanel) {
		throw new UnsupportedOperationException("TODO: auto-generated method stub")
	}
	
	override protected createFormPanel(Panel mainPanel) {
		throw new UnsupportedOperationException("TODO: auto-generated method stub")
	}
	
		/** Abre la ventana de expediente que esta bindeada con el expediente real del juego */
	def abrirVentanaDeResolverMisterio() {
		this.openDialog(new ResolverMisterioWindow(this, new ResolverMisterioAppModel(this.modelObject.detectiveACargo, this.modelObject.casoActual,this.modelObject.expedienteDelJuego)))
	}

	def openDialog(Dialog<?> dialog) {
		dialog.onAccept[|this.modelObject]
		dialog.open
	}

}
